//package com.shanghai.shanghaielectric.UI.chart.widget;
//
//import android.content.Context;
//import android.graphics.Color;
//import android.util.AttributeSet;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.widget.LinearLayout;
//import android.widget.TextView;
//
//import com.shanghai.shanghaielectric.R;
//
//import java.math.BigDecimal;
//import java.util.ArrayList;
//import java.util.Arrays;
//import java.util.List;
//
//
//import lecho.lib.hellocharts.formatter.LineChartValueFormatter;
//import lecho.lib.hellocharts.formatter.SimpleLineChartValueFormatter;
//import lecho.lib.hellocharts.gesture.ContainerScrollType;
//import lecho.lib.hellocharts.gesture.ZoomType;
//import lecho.lib.hellocharts.model.Axis;
//import lecho.lib.hellocharts.model.AxisValue;
//import lecho.lib.hellocharts.model.Line;
//import lecho.lib.hellocharts.model.LineChartData;
//import lecho.lib.hellocharts.model.PointValue;
//import lecho.lib.hellocharts.model.ValueShape;
//import lecho.lib.hellocharts.model.Viewport;
//import lecho.lib.hellocharts.view.LineChartView;
//
//public class DataChartsView extends LinearLayout {
//    List<String> xxxx = new ArrayList<String>();
//
//    List<Line> lines;
//
//    List<Line> mlines;
//    List<LineChartEntity> lineChartEntities = new ArrayList<LineChartEntity>();
//    LineChartView lineChart;
//    LineChartData data;
//
//    List<PointValue> mPointValues;
//
//    private List<AxisValue> mAxisXValues = new ArrayList<AxisValue>();
//
//    LineChartEntity lineChartEntity;
//    private LinearLayout mContainerLL;
//    private ChartView mChartView;
//
//
//    public DataChartsView(Context context, AttributeSet attrs, int defStyleAttr) {
//        super(context, attrs, defStyleAttr);
//
//        setLayerType(View.LAYER_TYPE_HARDWARE, null);
//        init(context);
//
//    }
//
//    public DataChartsView(Context context, AttributeSet attrs) {
//        super(context, attrs);
//        init(context);
//    }
//
//    public DataChartsView(Context context) {
//        super(context);
//        init(context);
//    }
//
//    private void init(Context context) {
//
//        View view = LayoutInflater.from(context).inflate(
//                R.layout.data_chart_view, this);
//        mContainerLL = (LinearLayout) view
//                .findViewById(R.id.data_chart_view_ll);
//        mChartView = (ChartView) view.findViewById(R.id.data_chart_view_chart);
//
//        lineChart = (LineChartView) findViewById(R.id.line_chart);
//        mlines = new ArrayList<Line>();
//
//
//    }
//
//    public void setdata(Context context, List<ChartEntity> chartEntitys, String[] xz, String y_title) {
//
//        Arrays.sort(xz);
//        for (int i = 0; i < xz.length; i++) {
//            Log.e("boom", "" + xz[i]);
//        }
//        mContainerLL.removeAllViews();
//        LinearLayout ll = null;
//        for (int i = 0; i < chartEntitys.size(); i++) {
//            ChartEntity entity = chartEntitys.get(i);
//            if (i % 4 == 0) {
//                ll = new LinearLayout(context);
//                mContainerLL.addView(ll);
//            }
//
//            View view = LayoutInflater.from(context).inflate(R.layout.data_chart_view_item, null);
//            view.findViewById(R.id.chart_view_item_color).setBackgroundColor(entity.resColor);
//            TextView name = (TextView) view.findViewById(R.id.chart_view_item_name);
//            name.setText(entity.name);
//            ll.addView(view);
//        }
//
//        mChartView.setData(chartEntitys);
//
////        mChartView.destroyDrawingCache();
//        lineChartEntities.clear();
//
//        mlines.clear();
////        lineChart.destroyDrawingCache();
//        lineChartEntity = null;
//        data = null;
//        if (mPointValues != null) {
//            mPointValues.clear();
//        }
//        mAxisXValues.clear();//8.18
////        lineChart.destroyDrawingCache();
//
//        getAxisXLables(xz);
////        lineChartEntities.clear();
//        if (chartEntitys.size() != 0) {
////            String [] t= new String[chartEntitys.get(0).value.length];
//            //获得数据
//            for (int j = 0; j < chartEntitys.size(); j++) {//获得几条数据
////                Log.e("9999", "size==" + chartEntitys.size());
////                chartEntitys.get(j).name;
////                Log.e("9999", "" + chartEntitys.get(j).name + chartEntitys.get(j).time);
////                t[j]=chartEntitys.get(j).time+"";
//
////                for (int i = 0; i <t.length ; i++) {
////                Log.e("9999", "x值" + chartEntitys.get(j).time);
////                }
//                float[] f = chartEntitys.get(j).value;//
//                int color = chartEntitys.get(j).resColor;
//
////                for (int i = 0; i < f.length; i++) {
////                    Log.e("9999", "值" + f[i]);
////                }
//                lineChartEntity = new LineChartEntity();
//                lineChartEntity.setyAxisValue(f);
////              lineChartEntity.setxAxisValue(t);
//                lineChartEntity.setColor(color);
//                lineChartEntities.add(lineChartEntity);
//
//            }
//        }
//
//
////
////        lineChartEntity.setColor("#FFCD41");
////        lineChartEntity.setxAxisValue(date);
////        lineChartEntity.setyAxisValue(y_data);
////
////        LineChartEntity lineChartEntity2 = new LineChartEntity();
////        lineChartEntity2.setColor("#F00D41");
////        lineChartEntity2.setxAxisValue(date);
////        lineChartEntity2.setyAxisValue(y_data2);
////
////        lineChartEntities.add(lineChartEntity);
////        lineChartEntities.add(lineChartEntity2);
//
//
//        for (int j = 0; j < lineChartEntities.size(); j++) {
//            mPointValues = new ArrayList<PointValue>();
//            for (int i = 0; i < lineChartEntities.get(j).getyAxisValue().length; i++) {
//                mPointValues.add(new PointValue(i, lineChartEntities.get(j).getyAxisValue()[i]));
//
//                mlines.add(new Line(mPointValues).setColor(lineChartEntities.get(j).getColor()));  //折线的颜色（橙色）
//            }
//        }
//
//        initLineChart(mlines, xz, y_title);//初始化
//
//
//    }
//
//
//    private void initLineChart(List<Line> mlines, String[] xAxis, String y_title) {
//        getAxisXLables(xAxis);//获取x轴的标注
//        lines = new ArrayList<Line>();
//        for (int i = 0; i < mlines.size(); i++) {
//
//            mlines.get(i).setShape(ValueShape.CIRCLE);//折线图上每个数据点的形状  这里是圆形 （有三种 ：ValueShape.SQUARE  ValueShape.CIRCLE  ValueShape.DIAMOND）
//            mlines.get(i).setCubic(false);//曲线是否平滑，即是曲线还是折线
//            mlines.get(i).setFilled(false);//是否填充曲线的面积
////            mlines.get(i).setHasLabels(true);//曲线的数据坐标是否加上备注
////            mlines.get(i).hasPoints();
//      mlines.get(i).setHasLabelsOnlyForSelected(true);//点击数据坐标提示数据（设置了这个line.setHasLabels(true);就无效）
//            mlines.get(i).setHasLines(true);//是否用线显示。如果为false 则没有曲线只有点显示
//            mlines.get(i).setHasPoints(true);//是否显示圆点 如果为false 则没有原点只有点显示（每个数据点都是个大的圆点）
//            mlines.get(i).setStrokeWidth(1);//线条宽度
//            mlines.get(i).setPointRadius(4);
//
//            LineChartValueFormatter chartValueFormatter = new SimpleLineChartValueFormatter(2);
//
//
//            mlines.get(i).setFormatter(chartValueFormatter);//显示小数点);
//            lines.add(mlines.get(i));
//        }
//
//
//        data = new LineChartData();
//        data.setLines(lines);
//
//        //坐标轴
//        Axis axisX = new Axis(); //X轴
//        axisX.setHasTiltedLabels(false);  //X坐标轴字体是斜的显示还是直的，true是斜的显示
//        axisX.setTextColor(Color.WHITE);  //设置字体颜色
//        axisX.setName("日期(天)");  //表格名称
//        axisX.setTextSize(15);//设置字体大小
//        axisX.setMaxLabelChars(5); //最多几个X轴坐标，意思就是你的缩放让X轴上数据的个数7<=x<=mAxisXValues.length
//        axisX.setValues(mAxisXValues);  //填充X轴的坐标名称
//        data.setAxisXBottom(axisX); //x 轴在底部
//        //data.setAxisXTop(axisX);  //x 轴在顶部
//        axisX.setHasLines(true); //x 轴分割线
////        axisX.setHasSeparationLine(true);
//
//
//        // Y轴是根据数据的大小自动设置Y轴上限(在下面我会给出固定Y轴数据个数的解决方案)
//        Axis axisY = new Axis();  //Y轴
//        axisY.setName(y_title);//y轴标注
//        axisY.setTextColor(Color.WHITE);
//        axisY.setTextSize(15);//设置字体大小
//        axisY.setMaxLabelChars(8);
////        axisY.setHasLines(true);//横线
////axisY.setHasSeparationLine(true);
//        data.setAxisYLeft(axisY);  //Y轴设置在左边
//        //data.setAxisYRight(axisY);  //y轴设置在右边
//
//        //设置行为属性，支持缩放、滑动以及平移
//        lineChart.setInteractive(true);
//        lineChart.setZoomType(ZoomType.HORIZONTAL);
//        lineChart.setMaxZoom((float) 2);//最大方法比例
//        lineChart.setContainerScrollEnabled(true, ContainerScrollType.HORIZONTAL);
//        lineChart.setLineChartData(data);
//        lineChart.setVisibility(View.VISIBLE);
//
//        /**注：下面的7，10只是代表一个数字去类比而已
//         * 当时是为了解决X轴固定数据个数。见（http://forum.xda-developers.com/tools/programming/library-hellocharts-charting-library-t2904456/page2）;
//         */
//        Viewport v = new Viewport(lineChart.getMaximumViewport());
//        v.left = 0;
//        v.right = 5;
//        lineChart.setCurrentViewport(v);
//    }
//
//    /**
//     * 设置X 轴的显示
//     */
//    private void getAxisXLables(String[] xAxis) {
//        for (int i = 0; i < xAxis.length; i++) {
//
//            mAxisXValues.add(new AxisValue(i).setLabel(xAxis[i]));
//        }
//    }
//
//
//    private float[] to2float(float[] ft) {
//        float[] mft = new float[ft.length];
//        int scale = 2;//设置位数
//        int roundingMode = 4;//表示四舍五入，可以选择其他舍值方式，例如去尾，等等.
//        for (int i = 0; i < ft.length; i++) {
//            BigDecimal bd = new BigDecimal((double) ft[i]);
//            bd = bd.setScale(scale, roundingMode);
//            mft[i] = bd.floatValue();
//            Log.e("", "" + mft[i]);
//        }
//
//        return mft;
//    }
//
//    @Override
//    public void destroyDrawingCache() {
//        super.destroyDrawingCache();
//    }
//
//
//}
